package god;

import java.util.Scanner;

public class Ch03Ex03ShowBinary {
	public static void main(String[] args) {
		// 실습 문제 3.
		// 0보다 큰 임의의 정수 입력 받고 이진수로 출력
		// 이진수 안의 1의 개수를 출력
		
		int num, cnt1 = 0, numValue = 0;;
		String result = "";
		char binary[] = new char[16];
		Scanner sc = new Scanner(System.in);

		System.out.println(" 정수를 입력해주세요.");
		num = sc.nextInt();
		numValue = num;
		for ( int i = 0; i <= 15; ++i) {
			if (num == 1) { binary[i] = '1'; cnt1 += 1; }
			else if ( num % 2 == 0 ) { binary[i] = '0'; }
			else if ( num % 2 == 1 ) {binary[i] = '1'; cnt1 += 1; }
			num = num / 2;
			}
		for ( int j = 15; j >= 0; --j ) {
			result += binary[j];
		}
		System.out.println(numValue + "의 2진수 : " + result);
		System.out.println("1의 수 : " + cnt1 + "개");
		sc.close();

	}

}
